Aller au contenu principal

Cours 8

Rappel des notions vues précédemment

  1. Le service DNS est d'abord et avant tout un service de traduction. Il permet de convertir un nom de domaine complet (FQDN) en adresse IP. L'inverse est également vrai.

  2. Nous avons également pu constater que la résolution d'un nom de domaine était hiérarchisée et composée de différentes étapes.

  3. Finalement, nous avons distingué les requêtes DNS itératives et récursives.

Les enregistrements DNS

Pour qu'un serveur puisse traduire un nom en IP, celui-ci doit posséder les données qu'on lui demande de traduire, soit le nom concerné par la requête et l'adresse IP correspondante. Cette correspondance, c'est ce que l'on nomme un enregistrement.

Voici un exemple d'enregistrement et une brève description des éléments:

Enregistrement

ÉlémentContenuValeur
NomLe nom d'un enregistrement correspond à ce que vous retrouverez devant le nom de domaine. S'il s'agit du domaine patate.com et que l'on retrouve un enregistrement au nom de www, cela signifie qu'il existe un ordinateur ou un serveur au nom de www dans le domaine patate.comwww
ClasseLes classes d'enregistrement sont un héritage de la structure originelle du système de noms de domaine. Elles ont été conçues à une époque pour supporter différents types de réseaux et d'infrastructures sur internet et au sein de systèmes informatiques. Aujourd'hui, toutes les autres classes autres que « IN » (internet) sont devenues obsolètes.IN
TypeLes types d'enregistrement déterminent l'information que l'on retrouvera dans la valeur d'un enregistrement. Dans l'exemple ci-dessus, le type d'enregistrement « A » nous indique que la valeur sera une adresse IP, laquelle sera associée au nom « www ».A
ValeurFinalement, la valeur constitue la donnée que l'on désire sauvegarder et associer au nom de l'enregistrement.192.0.2.1

Bien qu'il existe plusieurs types d'enregistrement DNS, je vous répertorie ici les plus populaires:

TypeExplication
ACe type d’enregistrement permet d’associer un nom de domaine à une IP.
AAAAC'est exactement la même chose que l'enregistrement A, mais pour la technologie IPv6.
CNAMECe type d'enregistrement permet de définir un alias pour un nom de domaine existant.
MXSpécifie les serveurs de messagerie utilisés pour les courriels d'un domaine particulier.
SOAContiens plusieurs informations essentielles au fonctionnement d'une zone DNS. Nous l'analyserons en détail un peu plus loin.
SRVPermets de spécifier l'adresse IP pour des services spécifiques.
TXTC'est un enregistrement contenant du texte, ni plus ni moins. Ces enregistrements sont souvent utilisés dans les politiques d'envoi de courriels par exemple.

Les zones de recherche

Les enregistrements sont stockés dans des zones de recherche. On pourrait comparer ces zones à des bases de données dans lesquelles on retrouve différents champs et différentes valeurs. Une zone de recherche contient tous les enregistrements d'un domaine particulier. Par exemple, le fichier de zone concernant le domaine patate.com contiendra tous les enregistrements concernant patate.com.

Il existe deux types de zone de recherche:

-Principal: Une zone principale est ouverte en écriture. Les enregistrements qu'elle contient sont donc modifiables.

-Secondaire: C'est une copie de la zone principale et elle n'est disponible qu'en lecture seule. Les zones secondaires permettent de distribuer la charge de travail entre les serveurs DNS.

Voici ce à quoi peut ressembler un fichier de zone de recherche avec Bind:

/etc/bind/db.exemple.com
$TTL    86400
@ IN SOA ns1.exemple.com. admin.exemple.com. (
2025012801 ; Serial
3600 ; Refresh
1800 ; Retry
1209600 ; Expire
86400 ) ; Negative Cache TTL

IN NS ns1.exemple.com.
IN NS ns2.exemple.com.

ns1 IN A 192.168.1.1
ns2 IN A 192.168.1.2
www IN A 192.168.1.10

Analysons ce fichier de zone ensemble. Pour y arriver, nous le découperons en section:

$TTL ou Time To Live

$TTL    86400

La première qui constitue le fichier de zone est celle qui concerne le Time To Live. C'est d'abord une valeur exprimée en secondes. Ici, 86400 est l'équivalent de 24h. C'est la durée de vie qu'auront les enregistrements dans les différentes mémoires caches des clients.

L'enregistrement SOA ou Start of authority

@       IN      SOA   ns1.exemple.com. admin.exemple.com. (
2025012801 ; Serial
3600 ; Refresh
1800 ; Retry
1209600 ; Expire
86400 ) ; Negative Cache TTL

L'enregistrement SOA est obligatoire à toute zone de recherche. Cet enregistrement contient des informations importantes concernant la zone. Commençons par analyser la ligne supérieure, celle qui débute par un « @ ». Il faut d'abord savoir que dans les fichiers de zone, le caractère « @ » est un alias qui correspond au nom du domaine. Dans l'exemple ci-dessus, je pourrais très bien changer le caractère « @ » par exemple.com, cela reviendrait exactement au même.

DonnéesInformations
@Alias du nom de domaine. Tout enregistrement doit posséder un nom. L'enregistrement SOA n'échappe pas à cette règle. En lui donnant le caractère « @ » à titre de nom, c'est comme si nous lui donnions le nom de domaine comme nom, ici exemple.com
INC'est la classe de l'enregistrement, tout simplement. Comme pour tout enregistrement, nous utilisons toujours « IN »
SOAC'est le type d'enregistrement, ici « SOA » (Start of authority).
ns1.exemple.com.C'est le serveur qui a autorité sur la zone. C'est donc le seul serveur qui a l'autorisation de modifier ou d'ajouter des enregistrements.
admin.exemple.com.C'est l'adresse courriel de l'administrateur du serveur DNS. Étant donné que le caractère « @ » a une signification particulière, nous l'avons remplacé par un point. La véritable adresse courriel de l'administrateur est donc « admin@exemple.com. »
SerialIl s'agit du numéro de série de la zone. Ce numéro est incrémenté à chaque modification. Cela permet aux serveurs secondaires de savoir s'ils possèdent toujours une copie à jour de la zone.
RefreshC'est le temps, en secondes, que les serveurs secondaires doivent attendre avant de vérifier si des modifications ont été apportées à la zone (1h)
RetryC'est le temps, en secondes, que les serveurs secondaires doivent attendre avant de réessayer de se mettre à jour suite à un échec de la requête initial. (15 min)
ExpireIl s'agit du temps, en secondes, après lequel une copie de la zone est considérée obsolète si aucune communication avec le serveur qui a autorité n'a pu être établie. (7 jours)
Negative Cache TTLLe temps, en secondes, pour la mise en cache des domaines non trouvés dans les ordinateurs clients. Cela permet d'éviter le trop grand trafic que pourraient générer des requêtes répétées pour des domaines inexistants. (1 jour)

Schéma de concept

SchémaSchéma

Référence(s)